<?php

/**
 * SARTEXPORTAR form.
 *
 * @package    form
 * @subpackage SARTlogin
 * @author     David Joan Tataje Mendoza <davidtataje@vemultimedios.org>
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 6174 2007-11-27 06:22:40Z fabien $
 */
class reporteCargaLectivaForm extends sfForm 
{	  
          
  public function configure()
  {
    //configurando los widgets
    $request  = sfContext::getInstance()->getRequest();
    $datos    = $request->getParameter('exportar');

    $this->widgetSchema['FECHA_INICIO']  = new sfWidgetFormJQueryDate(
                                           array
                                           (
                                             'image'  => '/images/calendar.gif',
                                             'culture' => 'es',
                                             'format' => '%day%-%month%-%year%'
                                           ));
    $this->widgetSchema['FECHA_FINAL']   = new sfWidgetFormJQueryDate(
                                           array
                                           (
                                             'image'  => '/images/calendar.gif',
                                             'culture' => 'es',
                                             'format' => '%day%-%month%-%year%'
                                           ));
                                           
    $this->widgetSchema['DIFERENCIA']      = new sfWidgetFormInputHidden();
    $this->validatorSchema['FECHA_INICIO'] = new sfValidatorDate();
    $this->validatorSchema['FECHA_FINAL']  = new sfValidatorDate();
    $this->validatorSchema['DIFERENCIA']  = new sfValidatorInteger(array('min' => 0, 'max' => 365), array('max' => 'El Intervalo de Fechas debe ser menor que 1 a&ntilde;o'));

    //validadores fecha inicio
    
    $validator = $this->validatorSchema['FECHA_INICIO'];
  	
  	$validator->setMessage('required', 'El campo \'Fecha Inicio\' no puede tener espacios en blanco.');
  	$validator->setMessage('invalid' , 'Por favor, seleccione una fecha correcta en el campo \'%Fecha Inicio%\'.');
  	

  	if (isset($datos['FECHA_FINAL']))
  	{
  	  $validator->setOption('max', strtotime($datos['FECHA_FINAL']['year']."-".$datos['FECHA_FINAL']['month']."-".$datos['FECHA_FINAL']['day']));
  	  $validator->setMessage('max', 'La \'Fecha de Inicio\' debe ser menor que la \'Fecha Final\'.');
  	}
  	
    $this->validatorSchema['FECHA_INICIO'] = $validator;
    
  	//validador fecha final
  	$validator = $this->validatorSchema['FECHA_FINAL'];
  	
  	$validator->setMessage('required', 'El campo \'Fecha Final\' no puede tener espacios en blanco.');
  	$validator->setMessage('invalid' , 'Por favor, seleccione una fecha correcta en el campo \'%Fecha Inicio%\'.');
  	
  	if (isset($datos['FECHA_INICIO']))
  	{
  	  $validator->setOption('min', strtotime($datos['FECHA_INICIO']['year']."-".$datos['FECHA_INICIO']['month']."-".$datos['FECHA_INICIO']['day']));
  	  $validator->setMessage('min', 'La \'Fecha Final\' debe ser mayor que La.\'Fecha de Inicio\'');
  	}
  	if (strtotime(date('Y-m-d')))
  	{
  	  $validator->setOption('max', strtotime(date('Y-m-d')));
  	  $validator->setMessage('max', 'La \'Fecha Final\' debe ser menor que la \'Fecha de Hoy\'.');
  	}
  	$this->validatorSchema['FECHA_FINAL'] = $validator;
    
  	$this->widgetSchema->setNameFormat('exportar[%s]');
  }
}